package cn.tedu.demo5;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;

@Component
/*@Controller：被该注解标注的类也受Spring容器管理，该注解在SpringMVC框架中发挥作用，为标准了
               类提供其他额外功能。注：Controller控制器层，主要负责衔接客户与业务层。
@Service     ：被该注解标注的类受Spring容器管理，通常标注那些业务层的类
@Repository  ：被该注解标注的类受Spring容器管理,通常标注那些持久层的类（把数据些硬盘上的过程就是持久化）
               以上四个注解都可以实现被Spring自动管理
*/


public class Person {
    @Autowired
    //@Resource  老的开发可能会用
    /**
     * Spring处理自身的注解外，也支持一些java原生注解
     * 例如：
     * @Resource注解，之歌注解原本在javax包中，但是在JDK17中已经被移除了。
     * 所以实际开发中还是推荐使用Spring自己的@Autowired注解
     */
    @Qualifier("summer")
    private Clothes clothes;
    public void play(){
        clothes.show();
        System.out.println("出去玩");
    }
}
